package com.wei.czz.common.dto.admin;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.wei.czz.common.tool.BaseEntity;
import lombok.*;
import lombok.experimental.Accessors;

import java.util.Date;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2021-09-30 23:18:00
 * className: UserDto 用户信息封装类
 * version: 1.0
 * description:
 *  `@JsonInclude(JsonInclude.Include.NON_EMPTY)`：接口返回对象时，如果某个字段值为空，序列化不操作该字段
 */
@Getter
@Setter
@Accessors(chain = true)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class UserDto extends BaseEntity {

    /**
     * 用户主键
     */
    private String userId;

    /**
     * 用户所属部门名称
     */
    private String deptNames;

    /**
     * 名称
     */
    private String username;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 手机号（密文）
     */
    private String phone;

    /**
     * 手机号（明文）
     */
    private String decodePhone;

    /**
     * 手机号（半解密）
     */
    private String subDecodePhone;

    /**
     * 邮箱号（密文）
     */
    private String email;

    /**
     * 邮箱号（明文）
     */
    private String decodeEmail;

    /**
     * 邮箱号（半解密）
     */
    private String subDecodeEmail;

    /**
     * 登录别名
     */
    private String loginName;

    /**
     * 状态[0-可用 1-不可用]
     */
    private Integer status;

    /**
     * 状态名称
     */
    private String statusName;

    /**
     * 是否领导状态[0-是 1-否]
     */
    private Integer leaderStatus;

    /**
     * 是否领导状态名称
     */
    private String leaderStatusName;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 操作更新的用户
     */
    private String updateUser;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 操作创建的用户
     */
    private String createUser;

    /**
     * 用户关联角色数据
     * 角色名称列表
     */
    private List<String> roleList;

}
